In many servo controlled mechanical applications, such as controlling a magnetic tape storage drive or an accessor and gripper in an automated data storage library, it may be important to log data from servo control algorithms. Such logged data may then be used to determine if the algorithms are effective and efficient or require tuning. The logged data may also be used to debug problems which occur within a servo control system and/or in the associated hardware. Logged data may be used both during the development phase of a product and during the everyday operation of the product in the field.
It will be appreciated that logged data requires memory space. Typically, when the memory has become full, existing data is overwritten by new data on a first-in-first-out basis and is lost. The amount of memory available, therefore, places a limit on the amount of data which can be stored. Expanding the memory is theoretically possible and allows for more data to be available for later analysis, but this can be costly and may take memory away from some other aspect of the system. When logged data is stored in memory on a servo control card, one or more additional cards may be used for provide additional storage. However, it then becomes necessary to provide a communications link among the cards which may create a bandwidth issue.
In another method, servo data is logged less frequently, such as every four times through the servo loop instead of every time. Alternatively, some of the servo parameters are logged during each loop with the remaining parameters logged during one or more subsequent loops. A significant disadvantage of these methods is that the logged data is incomplete and can be considered to be forms of “lossy” compression.
Conventional compression methods may also be applied to logged servo data, such as with the popular ZIP algorithm. However, applying compression algorithms is a processor-intensive procedure and may absorb significant processing cycles which are needed for other uses. For example, some magnetic tape drives, such as LTO drives, include a dedicated data compression chip to compress incoming user data before it is written to the tape. A dedicated compression chip could be used to compress servo data before writing it to memory, but this adds cost.
Consequently, a need remains for the ability to log data from controlled mechanical hardware in a loss-less manner without requiring significant processor time.